using UniversalAdminSystem.Domian.Core.ValueObjects;

namespace UniversalAdminSystem.Domian.Core.Events;

/// <summary>
/// 角色创建事件
/// </summary>
public class RoleCreatedEvent : DomainEvent
{
    public RoleId RoleId { get; }
    public string RoleName { get; }

    public RoleCreatedEvent(RoleId roleId, string roleName)
    {
        RoleId = roleId;
        RoleName = roleName;
    }
}

/// <summary>
/// 角色更新事件
/// </summary>
public class RoleUpdatedEvent : DomainEvent
{
    public RoleId RoleId { get; }
    public string OldName { get; }
    public string NewName { get; }

    public RoleUpdatedEvent(RoleId roleId, string oldName, string newName)
    {
        RoleId = roleId;
        OldName = oldName;
        NewName = newName;
    }
}

/// <summary>
/// 角色删除事件
/// </summary>
public class RoleDeletedEvent : DomainEvent
{
    public RoleId RoleId { get; }
    public string RoleName { get; }

    public RoleDeletedEvent(RoleId roleId, string roleName)
    {
        RoleId = roleId;
        RoleName = roleName;
    }
} 